Conversation
You can successfully enter the room, publish the video stream。 On mac m3max test OK。
|
thanks @janreyho , we'll check it in the next days |
jmillan
left a comment
There was a problem hiding this comment.
I believe MediaStreamTrackFactory.cpp should be the same as the one we have for tests in libmediasoupclient, right? Even if it's for consistency.
| GIT_REPOSITORY git@github.com:janreyho/libmediasoupclient.git | ||
| GIT_TAG m120 |
There was a problem hiding this comment.
Please, put v3 back since the branch has already been merged.
There was a problem hiding this comment.
I have successfully solved Thousands of std::__Cr:: related errors in ubuntu2204, using libc++ and libc++abi from the webrtc source code.
There are about 10 link errors left, and I will try to solve them this weekend.
There was a problem hiding this comment.
I have successfully solved Thousands of std::__Cr:: related errors in ubuntu2204, using libc++ and libc++abi from the webrtc source code.
Do you mean specifying use_custom_libcxx=false in gn gen command?
There was a problem hiding this comment.
no, use buildtools/third_party/libc++, and buildtools/third_party/libc++abi
It may take a few more days to resolve the last dozen issues on Ubuntu 22.04. Once the modifications are complete, I will create PRs for the mediasoup-broadcaster-demo and libmediasoupclient repositories.
|
@jmillani have some problems link /usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `google::protobuf::StrAppend(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >*, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&)':
strutil.cc:(.text+0x44): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::resize(unsigned long, char)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `google::protobuf::GlobalReplaceSubstring(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >*)':
strutil.cc:(.text+0xc7): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::find(char const*, unsigned long, unsigned long) const'
/usr/bin/ld: strutil.cc:(.text+0xf0): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::find(char const*, unsigned long, unsigned long) const'
/usr/bin/ld: strutil.cc:(.text+0x10e): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > const&, unsigned long, unsigned long)'
/usr/bin/ld: strutil.cc:(.text+0x165): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > const&, unsigned long, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `_ZNSt4__Cr12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendINS_11__wrap_iterIPKcEETnNS_9enable_ifIXsr31__has_forward_iterator_categoryIT_EE5valueEiE4typeELi0EEERS5_SC_SC_':
strutil.cc:(.text[_ZNSt4__Cr12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendINS_11__wrap_iterIPKcEETnNS_9enable_ifIXsr31__has_forward_iterator_categoryIT_EE5valueEiE4typeELi0EEERS5_SC_SC_]+0x239): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(char const*, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `google::protobuf::Base64UnescapeInternal(char const*, int, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >*, signed char const*)':
strutil.cc:(.text+0x40): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::resize(unsigned long, char)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `google::protobuf::Base64EscapeInternal(unsigned char const*, int, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >*, bool, char const*)':
strutil.cc:(.text+0x61): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::resize(unsigned long, char)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `google::protobuf::CleanStringLineEndings(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >*, bool)':
strutil.cc:(.text+0x70): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(char const*, unsigned long)'
/usr/bin/ld: strutil.cc:(.text+0x94): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::__init_copy_ctor_external(char const*, unsigned long)'
/usr/bin/ld: strutil.cc:(.text+0xbf): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(char const*, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `google::protobuf::CleanStringLineEndings(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >*, bool)':
strutil.cc:(.text+0x15d): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::resize(unsigned long, char)'
/usr/bin/ld: strutil.cc:(.text+0x1af): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::resize(unsigned long, char)'
/usr/bin/ld: strutil.cc:(.text+0x1ef): undefined reference to `std::__Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `_ZNSt4__Cr12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendIPKcTnNS_9enable_ifIXsr31__has_forward_iterator_categoryIT_EE5valueEiE4typeELi0EEERS5_SA_SA_':
strutil.cc:(.text[_ZNSt4__Cr12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendIPKcTnNS_9enable_ifIXsr31__has_forward_iterator_categoryIT_EE5valueEiE4typeELi0EEERS5_SA_SA_]+0x239): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(char const*, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(strutil.o): in function `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::__grow_by(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)':
strutil.cc:(.text[_ZNSt4__Cr12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm]+0x14f): undefined reference to `std::__Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(extension_set.o): in function `google::protobuf::internal::(anonymous namespace)::Register(google::protobuf::internal::ExtensionInfo const&)':
extension_set.cc:(.text+0x3e8): undefined reference to `std::__Cr::__next_prime(unsigned long)'
/usr/bin/ld: extension_set.cc:(.text+0x5b0): undefined reference to `std::__Cr::__next_prime(unsigned long)'
/usr/bin/ld: extension_set.cc:(.text+0x786): undefined reference to `std::__Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(extension_set.o): in function `google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom(google::protobuf::MessageLite const*, int, google::protobuf::internal::ExtensionSet::Extension const&, google::protobuf::Arena*)':
extension_set.cc:(.text+0x7cc): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::__init_copy_ctor_external(char const*, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(extension_set.o): in function `char const* google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > >(int, bool, google::protobuf::internal::ExtensionInfo const&, google::protobuf::internal::InternalMetadata*, char const*, google::protobuf::internal::ParseContext*)':
extension_set.cc:(.text[_ZN6google8protobuf8internal12ExtensionSet27ParseFieldWithExtensionInfoINSt4__Cr12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEEEPKcibRKNS1_13ExtensionInfoEPNS1_16InternalMetadataESC_PNS1_12ParseContextE]+0x66a): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::__assign_external(char const*, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(extension_set.o): in function `char const* google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl<google::protobuf::MessageLite, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > >(char const*, google::protobuf::MessageLite const*, google::protobuf::internal::InternalMetadata*, google::protobuf::internal::ParseContext*)':
extension_set.cc:(.text[_ZN6google8protobuf8internal12ExtensionSet23ParseMessageSetItemTmplINS0_11MessageLiteENSt4__Cr12basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEEEEPKcSD_PKT_PNS1_16InternalMetadataEPNS1_12ParseContextE]+0x2b8): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::__assign_external(char const*, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(implicit_weak_message.o): in function `google::protobuf::internal::ImplicitWeakMessage::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
implicit_weak_message.cc:(.text+0x52): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(char const*, unsigned long)'
/usr/bin/ld: implicit_weak_message.cc:(.text+0x85): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(char const*, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(implicit_weak_message.o): in function `google::protobuf::internal::ImplicitWeakMessage::CheckTypeAndMergeFrom(google::protobuf::MessageLite const&)':
implicit_weak_message.cc:(.text[_ZN6google8protobuf8internal19ImplicitWeakMessage21CheckTypeAndMergeFromERKNS0_11MessageLiteE]+0x22): undefined reference to `std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::append(char const*, unsigned long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(zero_copy_stream_impl.o): in function `google::protobuf::io::IstreamInputStream::CopyingIstreamInputStream::Read(void*, int)':
zero_copy_stream_impl.cc:(.text+0x11): undefined reference to `std::__Cr::basic_istream<char, std::__Cr::char_traits<char> >::read(char*, long)'
/usr/bin/ld: /home/hxgit/gitlab/webrtc/webrtc_m120/src/out/default_r/obj/libwebrtc.a(zero_copy_stream_impl.o): in function `google::protobuf::io::OstreamOutputStream::CopyingOstreamOutputStream::Write(void const*, int)':
zero_copy_stream_impl.cc:(.text+0x11): undefined reference to `std::__Cr::basic_ostream<char, std::__Cr::char_traits<char> >::write(char const*, long)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [test/CMakeFiles/test_mediasoupclient.dir/build.make:265: test/test_mediasoupclient] Error 1
make[2]: Leaving directory '/home/hxgit/gitlab/mediasoup/libmediasoupclient/build'
make[1]: *** [CMakeFiles/Makefile2:216: test/CMakeFiles/test_mediasoupclient.dir/all] Error 2
make[1]: Leaving directory '/home/hxgit/gitlab/mediasoup/libmediasoupclient/build'
make: *** [Makefile:136: all] Error 2
make: Leaving directory '/home/hxgit/gitlab/mediasoup/libmediasoupclient/build'Thousands of I noticed that WebRTC m120 uses clang-18 for compilation on Ubuntu 22.04 (located in src/third_party). |
I've upgraded
libmediasoupclientto WebRTC m120-6099 and also updated the corresponding test demo,mediasoup-broadcaster-demo, to the same version.This upgrade allows for successful room entry and video stream publishing.
Testing on a Mac with an M3 Max chip has been successful.